package com.jt.datasource;

import com.sun.org.apache.bcel.internal.generic.RETURN;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

public class JedisDataSource {
    //    private static JedisPool jedisPool;
//    //1，方案1：初始化池对象并获取连接
//    static {
//        JedisPoolConfig poolConfig=//这个类型是上面类型的子类类型.
//                new JedisPoolConfig();
//        poolConfig.setMaxTotal(128);//最大连接数
//        poolConfig.setMaxIdle(8);//最大空闲连接数
//        JedisPool jedisPool=
//                //new JedisPool("192.168.126.128", 6379);
//                new JedisPool(poolConfig, "192.168.126.128", 6379);
//    }

//    public static Jedis getConnection(){
//        return jedisPool.getResource();
//    }

    /*获取连接*/
    //方案2：初始化池对象并获取连接,何时需要何时创建池对象，懒加载
    private static volatile JedisPool jedisPool;
    public static Jedis getConnection() {
        if (jedisPool == null) {
            synchronized (JedisDataSource.class) {
                if (jedisPool == null) {
                    JedisPoolConfig poolConfig =//这个类型是上面类型的子类类型.
                            new JedisPoolConfig();
                    poolConfig.setMaxTotal(128);//最大连接数
                    poolConfig.setMaxIdle(8);//最大空闲连接数
                    jedisPool =
                            //new JedisPool("192.168.126.128", 6379);
                            new JedisPool(poolConfig, "192.168.126.128", 6379);
                }

            }
        }
        return jedisPool
                .getResource();
    }
}
